Virtual private LAN services (VPLS) over MPLS provides LAN-like connectivity between geographically diverse customer locations. Draft standards for implementing VPLS over MPLS are presented in “Virtual Private LAN Services over MPLS”, IETF draft-lasserre-vkompella-ppvpn-vpls-04.txt, March 2003, and “Virtual Private LAN Service”, IETF draft-kompella-ppvpn-vpls-02.txt, May 2003, “Transport of Layer 2 Frames over MPLS”, IETF draft-martini-12circuit-trans-mpls-09.txt, April 2002, and “Encapsulation Methods for Transport of Layer 2 Frames Over IP and MPLS networks”, IETF draft-martini-12circuit-encap-mpls-04.txt, November 2001, all of which are incorporated by reference herein.
The basic operation of VPLS is described with reference to FIG. 1 and involves establishing virtual circuit (VC) label switching paths (LSPs) and tunnel LSPs. FIG. 1 depicts an MPLS domain 102, two service provider edge devices (PEs) 104, geographically diverse customer locations 106 for two different customers, customer A and customer B, and the corresponding tunnel LSP and VC LSPs (e.g., VCA LSP and VCB LSP). In operation, a customer's Ethernet packet is either switched or routed by a customer device to one of the PEs (also known as MPLS label edge router (LERs)). The respective PE classifies the packet based on either the incoming port or the virtual local area network (VLAN) identified (ID) of an IEEE 802.1q tagged packet. The packet is then mapped to a user-defined Forwarding Equivalence Class (FEC), which specifies how the packet gets forwarded. The FEC lookup yields the outgoing port of the packet and labels that are used to encapsulate the packet. FIG. 2 depicts an example of a frame encapsulation format for implementing VPLS. A complete description of the frame format is described in the above referenced IETF document entitled “Encapsulation Methods for Transport of Layer 2 Frames Over IP and MPLS networks”. The frame format includes the original Ethernet packet 208, an MPLS label stack 209, and an outer Ethernet header 212. The label at the top of the MPLS label stack is the tunnel label, which is used to transport the packet across the provider's MPLS domain. The label at the bottom of the MPLS label stack is the VC label, which is used by the egress PE to determine how to process the packet.
Upon transport through the MPLS domain, backbone label switch routers (LSRs) (not shown) in the MPLS domain only look at the tunnel label to switch the labeled packet through the MPLS domain. It is possible that additional labels get pushed along the way. The tunnel label at the top of the MPLS label stack is removed at the penultimate hop (i.e., the hop prior to the egress PE) and the packet is passed to the egress PE with only the VC label. The egress PE uses the VC label to determine how to process the packet. The packet is then forwarded to the outgoing port that is identified via the VC label.
FIG. 3 is an expanded view of a PE 204 that logically depicts an example of how customer-specific VPLS traffic is passed through the PE into an MPLS domain. In the example, customers A and B are connected to the PE via customer-specific ports (e.g., ports 1, 2, and 3). VLAN traffic received on the customer-specific ports is associated with a customer-specific VC LSP and a tunnel LSP. In the example, each customer has a unique VC LSP (e.g., VCA LSP and VCB LSP) and traffic that is destined for the same PE (e.g., PE2) uses the same tunnel LSP.
In many applications, VPLS involves more than a point-to-point connection between two PEs. As depicted in FIG. 4, VPLS often involves connections between multiple distinct customer locations 406. For example, customers A and B may each have three distinct locations that are connected via the MPLS domain at PEs 1, 2, and 3. The three PEs are connected by three bidirectional tunnel LSPs (where each bidirectional tunnel is formed by two unidirectional LSPs). Customer-specific VC LSPs, which connect each PE, are also established for each customer between the connected PEs. For example, at PE1, for customer A, there is a VC LSP that connects PE1 to PE2 and a different VC LSP that connects PE1 to PE3. For customer A, one VC LSP is used to carry traffic from PE1 to PE2 and the other VC LSP is used to carry traffic from PE2 to PE3. The full mesh of customer-specific VC LSPs enables unique broadcast domains for customers A and B. Although the customers use customer-specific VC LSPs, the customers share the same tunnel LSPs for transport between the same PEs.
While the above-described VPLS scheme works well to provide “virtual private” or “transparent” LAN services, customers often demand more than LAN services from their service provider. For example, customers often need access to other network services such as Internet, video on demand (VoD), and PSTN services. Current VPLS technologies do not adequately address the delivery of other network services. Therefore, what is needed is a technique for providing customers with services, such as Internet, VoD, and PSTN services, in addition to “virtual private” or “transparent” LAN services that is flexible and efficient to implement and that is complementary with the emerging VPLS standards.